package com.grape.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 *
 * 会员充值记录表 实体类
 *
 * @author      putao
 * @email       2628279194@qq.com
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_member_recharge_record")
public class MemberRechargeRecord extends BaseDomain implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 充值金额
     */
    @ApiModelProperty("充值金额")
    private BigDecimal amount;
    /**
     * 会员生效时长（-1表示永久生效 单位/天）
     */
    @ApiModelProperty("会员生效时长（-1表示永久生效 单位/天）")
    private Long duration;
    /**
     * 会员结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("会员结束时间")
    private Date endTime;
    /**
     * 会员等级表id
     */
    @ApiModelProperty("会员等级表id")
    private String memberGradePriceId;
    /**
     * 会员图标
     */
    @ApiModelProperty("会员图标")
    private String memberIcon;
    /**
     * 会员id
     */
    @ApiModelProperty("会员id")
    private String memberId;
    /**
     * 会员名称（非用户名称，例如年度会员，月度会员等等）
     */
    @ApiModelProperty("会员名称（非用户名称，例如年度会员，月度会员等等）")
    private String memberUsername;
    /**
     * 充值方式（1：支付宝、2：微信、3：银行卡、4：赠送、5：其他）
     */
    @ApiModelProperty("充值方式（1：支付宝、2：微信、3：银行卡、4：赠送、5：其他）")
    private String rechargeType;
    /**
     * 会员开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @ApiModelProperty("会员开始时间")
    private Date startTime;
    /**
     * 用户id
     */
    @NotBlank(message = "用户id不能为空")
    @ApiModelProperty("用户id")
    private String userId;
    /**
     * 用户名称
     */
    @ApiModelProperty("用户名称")
    private String username;
}
